package com.zpark.oop.day03;

/**
 * 课程回顾：
 *      类和对象
 *      定义类：修饰符 class 类名{ 类体 }
 *      创建对象语法：类名 引用名 = new 类名();
 *              int[] arr = new int[10];
 *      构造器\构造函数\构造方法：构造方法与类名完全一致，并且构造方法没有返回值类型，
 *          连void关键字也没有
 *          如果程序员没有添加构造方法，则编译器会默认添加员工无参的构造方法，反之则不会
 *      构造方法能不能重载？  可以重载
 *      构造方法的作用：创建对象
 *      this关键字：代表当前对象
 *      用法：this.属性名、this.方法名(参数)、this([参数])
 *      注意：this([参数]),该语句只能在构造方法当中使用，并且必须位于第一行
 *      java内存分析：
 *          堆：存放new出来的对象，对象存放在栈中，栈中存放的是对象的引用，引用存放在堆中，
 *              堆中存放的是对象
 *          栈：方法压栈运行，存放方法中基本数据类型、引用类型、局部变量、对象地址，每一个方
 *              法有员工独立栈帧块
 *          方法区：存放类信息，类加载后，类信息存放在方法区，类信息包括：类名、属性、方法、
 *              构造方法等
 *              常量池：存放常量(被final修饰的)，如字符串
 *     对象数组：数组的元素是引用数据类型
 */
public class Demo01 {
    // 定义成员变量
    String name;

    public Demo01(){
        System.out.println("无参构造方法");
    }

    public Demo01(String name){
        this.name = name;
        System.out.println("带一个参数的构造方法");

    }
}

